using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.Alf.Site.Entidades
{
	public class ImovelVO
	{
		// Impedir o uso de new para esta classe
		protected ImovelVO() { }

		// Cria uma instancia desta classe
		public static ImovelVO CreateVO()
		{
			ImovelVO imovel = new ImovelVO();
			imovel.idPromotorVO = PessoaVO.CreateVO();
			imovel.idIndicadorVO = PessoaVO.CreateVO();
			imovel.idClienteVO = PessoaVO.CreateVO();
			imovel.idImovelCatVO = ImovelcatVO.CreateVO();
            imovel.idLogradouroVO = LogradouroVO.CreateVO();
			return imovel;
		}
		public static ImovelVO CreateVO(int idImovel, string titulo)
		{
			ImovelVO obj = CreateVO();
			obj.idImovel = idImovel;
			obj.titulo = titulo;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idImovel!=null?idImovel.ToString():"") + "-" + (titulo!=null?titulo.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idImovel.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idImovel
		{
			get { return this._idImovel; }
			set { this._idImovel = value; }
		}
		private int _idImovel;
		public string titulo
		{
			get { return this._titulo; }
			set { this._titulo = value; }
		}
		private string _titulo;
		public string descricao
		{
			get { return this._descricao; }
			set { this._descricao = value; }
		}
		private string _descricao;
        public bool? ativo
        {
            get { return this._ativo; }
            set { this._ativo = value; }
        }
        private bool? _ativo;
        public int idLogradouro
		{
			get { return this._idLogradouro; }
            set {
                this._idLogradouro = value;
                if (value != null) this.idLogradouroVO.idLogradouro = (int)value;
            }
        }
		private int _idLogradouro;
        public string bairro
        {
            get { return this._bairro; }
            set { this._bairro = value; }
        }
        private string _bairro;
		public string endNum
		{
			get { return this._endNum; }
			set { this._endNum = value; }
		}
		private string _endNum;
		public string endCom
		{
			get { return this._endCom; }
			set { this._endCom = value; }
		}
		private string _endCom;
		public string imediacoes
		{
			get { return this._imediacoes; }
			set { this._imediacoes = value; }
		}
		private string _imediacoes;
		public int? andares
		{
			get { return this._andares; }
			set { this._andares = value; }
		}
		private int? _andares;
		public int? aptoAndar
		{
			get { return this._aptoAndar; }
			set { this._aptoAndar = value; }
		}
		private int? _aptoAndar;
		public string aptoPos
		{
			get { return this._aptoPos; }
			set { this._aptoPos = value; }
		}
		private string _aptoPos;
		public string condominio
		{
			get { return this._condominio; }
			set { this._condominio = value; }
		}
		private string _condominio;
		public string zelador
		{
			get { return this._zelador; }
			set { this._zelador = value; }
		}
		private string _zelador;
		public int? quartos
		{
			get { return this._quartos; }
			set { this._quartos = value; }
		}
		private int? _quartos;
		public int? suites
		{
			get { return this._suites; }
			set { this._suites = value; }
		}
		private int? _suites;
		public decimal? areaTotal
		{
			get { return this._areaTotal; }
			set { this._areaTotal = value; }
		}
		private decimal? _areaTotal;
		public decimal? areaUtil
		{
			get { return this._areaUtil; }
			set { this._areaUtil = value; }
		}
		private decimal? _areaUtil;
		public int? vagasGaragem
		{
			get { return this._vagasGaragem; }
			set { this._vagasGaragem = value; }
		}
		private int? _vagasGaragem;
		public string vago
		{
			get { return this._vago; }
			set { this._vago = value; }
		}
		private string _vago;
		public string face
		{
			get { return this._face; }
			set { this._face = value; }
		}
		private string _face;
		public string financiamento
		{
			get { return this._financiamento; }
			set { this._financiamento = value; }
		}
		private string _financiamento;
		public string fGTS
		{
			get { return this._fGTS; }
			set { this._fGTS = value; }
		}
		private string _fGTS;
		public bool? permuta
		{
			get { return this._permuta; }
			set { this._permuta = value; }
		}
		private bool? _permuta;
		public decimal? vlrCond
		{
			get { return this._vlrCond; }
			set { this._vlrCond = value; }
		}
		private decimal? _vlrCond;
		public string placa
		{
			get { return this._placa; }
			set { this._placa = value; }
		}
		private string _placa;
		public string chaves
		{
			get { return this._chaves; }
			set { this._chaves = value; }
		}
		private string _chaves;
		public string visitas
		{
			get { return this._visitas; }
			set { this._visitas = value; }
		}
		private string _visitas;
		public string obs
		{
			get { return this._obs; }
			set { this._obs = value; }
		}
		private string _obs;
		public int? idPromotor
		{
			get { return this._idPromotor; }
			set { this._idPromotor = value; 
			      if(value!=null) this.idPromotorVO.idPessoa = (int)value; }
		}
		private int? _idPromotor;
		public int? idIndicador
		{
			get { return this._idIndicador; }
			set { this._idIndicador = value; 
			      if(value!=null) this.idIndicadorVO.idPessoa = (int)value; }
		}
		private int? _idIndicador;
		public int idCliente
		{
			get { return this._idCliente; }
			set { this._idCliente = value; 
			      if(value!=null) this.idClienteVO.idPessoa = (int)value; }
		}
		private int _idCliente;
        public string vendaLocacao
        {
            get { return this._vendaLocacao; }
            set { this._vendaLocacao = value; }
        }
        private string _vendaLocacao;
		public bool? vda
		{
			get { return this._vda; }
			set { this._vda = value; }
		}
		private bool? _vda;
		public bool? loc
		{
			get { return this._loc; }
			set { this._loc = value; }
		}
		private bool? _loc;
		public decimal? vlrVda
		{
			get { return this._vlrVda; }
			set { this._vlrVda = value; }
		}
		private decimal? _vlrVda;
		public decimal? vlrLoc
		{
			get { return this._vlrLoc; }
			set { this._vlrLoc = value; }
		}
		private decimal? _vlrLoc;
		public int idImovelCat
		{
			get { return this._idImovelCat; }
			set { this._idImovelCat = value; 
			      if(value!=null) this.idImovelCatVO.idImovelCat = (int)value; }
		}
		private int _idImovelCat;
        public char destaque
        {
            get { return this._destaque; }
            set { this._destaque = value; }
        }
        private char _destaque;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public PessoaVO idPromotorVO
		{
			get { return this._idPromotorVO; }
			set { this._idPromotorVO = value; }
		}
		private PessoaVO _idPromotorVO;
		public PessoaVO idIndicadorVO
		{
			get { return this._idIndicadorVO; }
			set { this._idIndicadorVO = value; }
		}
		private PessoaVO _idIndicadorVO;
		public PessoaVO idClienteVO
		{
			get { return this._idClienteVO; }
			set { this._idClienteVO = value; }
		}
		private PessoaVO _idClienteVO;
		public ImovelcatVO idImovelCatVO
		{
			get { return this._idImovelCatVO; }
			set { this._idImovelCatVO = value; }
		}
		private ImovelcatVO _idImovelCatVO;
        public LogradouroVO idLogradouroVO
        {
            get { return this._idLogradouroVO; }
            set { this._idLogradouroVO = value; }
        }
        private LogradouroVO _idLogradouroVO;
        public ImovelxfotoVO idImovelxfotoVO
        {
            get { return this._idImovelxfotoVO; }
            set { this._idImovelxfotoVO = value; }
        }
        private ImovelxfotoVO _idImovelxfotoVO;
		#endregion
	}
}
